In wireless local area networks (WLANs) operating according to the IEEE 802.11 family of standards, each communication source uses Medium Access Control (MAC) procedures to determine when to transmit a pending frame. When a frame is pending at a source, the source determines whether the communication channel (medium) is busy or idle. If the medium is idle, the source waits for the medium to be idle for at least an Inter-Frame Spacing (IFS) time before transmitting. However, if the communication medium is busy when a frame is ready, the MAC procedures randomly select a Contention Window (CW) backoff value x from a range of values. The range of values, the delay range, is generally a range of integers from 0 to (C−1). In that case, C defines the delay range.
According to the MAC procedure for backoff, the source waits for the medium to be idle. Then, the source waits until the medium has been idle for a cumulative time that depends on the CW backoff value x. The source counts idle time, in excess of IFS after each busy period, toward the cumulative time. Once the amount of time accumulates to the CW backoff value x, the source transmits the pending frame. This method can be implemented using a timer (or countdown) where the source tracks idle time in excess of IFS, until a timeout occurs (or the countdown reaches zero). Since different sources may select different CW backoff values, they may wait different durations before transmitting and thus avoid a collision. However, since the selection is random, two or more sources may select the same CW backoff value, wait the same duration, and transmit at the same time. The larger the delay range, the lower the likelihood that two or more stations randomly select the same CW backoff value. However, collisions can also occur if stations select different backoff values but those backoffs timeout at the same time.
According to the MAC procedures, a source may treat broadcast and unicast frames differently. Therefore, frames may be lost due to different reasons. If a unicast frame is larger than a threshold, the MAC uses a four-way handshake including a Request-to-Send (RTS), a Clear-to-Send (CTS), a data frame, and acknowledgment (ACK) frame. If the source does not receive a CTS or ACK in response to an RTS or data frame respectively, then the source can determine a failure occurred. According to the MAC procedures, the source increases the upper bound of the delay range when a failure occurs. According to the procedures, the C value is incremented exponentially to take on higher powers of 2. However, even if a CTS is received by the source, the ACK may not be sent if another source (a hidden node) did not hear the CTS and transmitted another frame that collided with the source's data frame. However, broadcast frames (and unicast frames smaller than the threshold) do not use the handshake. Thus, for these frames, the MAC handshake mechanism is not available to detect failures and the MAC procedures do not increment the delay range.
Broadcast frames from two sources can collide if both sources attempt to transmit at the same time. This can occur when two frames are pending at two different sources and those sources randomly select the same CW backoff value, causing the two sources to transmit at the same time. Another way this can occur is if the two frames started pending at different times but the two sources randomly selected different CW backoff values that happen to differ by the amount of cumulative idle time between when the two frames started pending.
Collisions occur when two or more sources transmit frames at the same time. A receiver may be able to decode one of the frames, losing the other. Or, the interference may cause the receiver to be unable to decode either of the frames. If the frames were broadcast frames, the MAC handshake method is not used, so the sources may be unable to detect that the collision occurred and the frame or frames were not received. Therefore, it is desirable to adapt the backoff procedure for frames that have no failure detection mechanism (such as broadcast frames).
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art. While reference is made through this disclosure to MAC, it is readily understood that the broader aspect of this disclosure are applicable more generally to channel access control mechanisms.